if(device.sdkInt<24){
    toast("抱歉：\n"+"您手机的安卓版本不是7.0以上，不可用！");
    alert("抱歉：\n"+"\n您手机的安卓版本不是7.0以上，不可用！");
    exit();
}
var 背景颜色 = "#fffff"
var 字号 = "13"
var 字体颜色 = "#dd000000"


var window = floaty.window(
    <vertical   padding="8 0 8 0" >
        <vertical id="输入框"  bg="#ffffff">
        <appbar>
                <toolbar id="toolbar" title="乐抢" />
                <Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 0 8 8" />
        </appbar>
            <linear>
                <text text="*学院:" textColor="black" textSize="16sp" />
                <input id="学院" hint="请输入您的学院" singleLine="true" w="*" focusable="true"/>
            </linear>
            <linear>
                <text text="*班级:" textColor="black" textSize="16sp" />
                <input id="班级" hint="请输入您的班级" singleLine="true" w="*" focusable="true"/>
            </linear>
            <linear>
                <text text="*性别:" textColor="black" textSize="16sp" />
                <input id="性别" hint="请输入您的性别" singleLine="true" w="*" focusable="true"/>
            </linear>
            <linear>
                <text text="*学号:" textColor="black" textSize="16sp" />
                <input id="学号" hint="请输入您的学号" singleLine="true" w="*" focusable="true"/>
            </linear>
            <linear>
                <text text="*电话:" textColor="black" textSize="16sp" />
                <input id="电话" hint="请输入您的电话" singleLine="true" w="*" focusable="true"/>
            </linear>
            <linear >
                <button id="ok" text="确定/保存" size="{{字号*1+4}}sp" layout_width="0dp" layout_weight="1"/>
            </linear>

            <frame w="*" >
                <text text="↓↓↓座位选择↓↓↓" textColor="black" gravity="center" />
            </frame>

            <radiogroup orientation="horizontal" gravity="center">
                <radio text="最前" id="r1" checked="true" />
                <radio text="较前" id="r2" />
                <radio text="较后" id="r3" />
                <radio text="最后" id="r4" />
            </radiogroup>
            <button id="隐藏" text="▼" h="36sp" layout_weight="1"/>
            
        </vertical>
            <button id="显示" text="▲" h="36sp" layout_weight="1"/>
            <button id="action" text="开始运行" size="{{字号*1+4}}sp"/>
        
    </vertical>


);

window.学院.on("touch_down", ()=>{
    window.requestFocus();
    window.学院.requestFocus();
});
window.班级.on("touch_down", ()=>{
    window.requestFocus();
    window.班级.requestFocus();
});
window.性别.on("touch_down", ()=>{
    window.requestFocus();
    window.性别.requestFocus();
});
window.学号.on("touch_down", ()=>{
    window.requestFocus();
    window.学号.requestFocus();
});
window.电话.on("touch_down", ()=>{
    window.requestFocus();
    window.电话.requestFocus();
});

window.r1.on("check", (checked) => {
    if (checked) {
        toast("您勾选了位置最靠前");
        延迟 = 0;
    }
});
window.r2.on("check", (checked) => {
    if (checked) {
        toast("您勾选了位置较靠前");
        延迟 = 150;
    }
});
window.r3.on("check", (checked) => {
    if (checked) {
        toast("您勾选了位置较靠后");
        延迟 = 400;
    }
});
window.r4.on("check", (checked) => {
    if (checked) {
        toast("您勾选了位置最靠后");
        延迟 = 900;
    }
});

window.exitOnClose();
setInterval(()=>{}, 1000);

window.显示.setVisibility(8)
window.隐藏.on("click",() => {
    window.输入框.setVisibility(8)//隐藏
    window.显示.setVisibility(0)//出现
    window.disableFocus()
});
window.显示.on("click",() => {
    window.输入框.setVisibility(0)
    window.显示.setVisibility(8)
});




var x = 0, y = 0;
//记录按键被按下时的悬浮窗位置
var windowX, windowY;
//记录按键被按下的时间以便判断长按等动作
var downTime;

window.action.setOnTouchListener(function(view, event){
    switch(event.getAction()){
        case event.ACTION_DOWN:
            x = event.getRawX();
            y = event.getRawY();
            windowX = window.getX();
            windowY = window.getY();
            downTime = new Date().getTime();
            return true;
        case event.ACTION_MOVE:
            //移动手指时调整悬浮窗位置
            window.setPosition(windowX + (event.getRawX() - x),
                windowY + (event.getRawY() - y));
            //如果按下的时间超过1.5秒判断为长按，退出脚本
            if(new Date().getTime() - downTime > 1500){
                exit();
            }
            return true;
        case event.ACTION_UP:
            //手指弹起时如果偏移很小则判断为点击
            if(Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5){
                onClick();
            }
            return true;
    }
    return true;
});

function onClick(){
    if(className("android.view.View").desc("签名墙").exists()){
        脚本();
    } else if (className("android.view.View").text("签名墙").exists()){
        脚本();
    } else {
        toast("请在讲座页面点这个按钮哦");
        return ;
    }


}

var 延迟 = 0;
var 学院 = window.学院.getText();
var 班级 = window.班级.getText();
var 性别 = window.性别.getText();
var 学号 = window.学号.getText();
var 电话 = window.电话.getText();

function 脚本(){
    if(window.action.getText() == '开始运行'){
        window.action.setText('停止运行');
        log(延迟,学院,班级,性别,学号,电话)

        threads.start(function() {
        是否在讲座页面();
        自动刷新();
        输入信息();
        点击确定报名();
        已报名();
        })

    }else{
        window.action.setText('开始运行');
    }

}

function 是否在讲座页面() {
    if (className("android.view.View").desc("签名墙").exists()) {
        toast("已在讲座页面,准备执行脚本")
        sleep(1500);
    }
    if (className("android.view.View").text("签名墙").exists()) {
        toast("已在讲座页面,准备执行脚本")
        sleep(1500);
        

    }
}

function 自动刷新() {
//每2秒钟toast()判断有没有开始
    threads.start(function(){
        setInterval(function(){
            if (className("android.view.View").descContains("未开始").exists()) {
                toast("未开始...");
            }
            if (className("android.view.View").textContains("未开始").exists()) {
                toast("未开始...");
            }
        },2100)
    })

    for (var a = 0;; a++) {

        //属性为text的讲座报名
        if (className("android.view.View").text("报名").exists()) {
            className("android.view.View").text("报名").click();

            if (className("android.view.View").descContains("未开始").exists()) {
                className("android.view.View").desc("讲座介绍").click();
                continue;
            }
            if (className("android.view.View").textContains("未开始").exists()) {
                className("android.view.View").text("讲座介绍").click();
                continue;
            }


            if (className("android.view.View").descContains("来晚咯").exists()) {

                toast("来晚咯");
                alert("来晚咯");break;
            }
            if (className("android.view.View").textContains("来晚咯").exists()) {

                toast("来晚咯");
                alert("来晚咯");break;
            }

            if (className("android.view.View").desc("立刻报名").exists()) {
                className("android.view.View").desc("立刻报名").click();
                toast("立即报名")
                break;
            }
            if (className("android.view.View").text("立刻报名").exists()) {
                className("android.view.View").text("立刻报名").click();
                toast("立即报名")
                break;
            }
        }

        //属性为desc的讲座报名
        if (className("android.view.View").desc("报名").exists()) {
            className("android.view.View").desc("报名").click();

            if (className("android.view.View").descContains("未开始").exists()) {
                className("android.view.View").desc("讲座介绍").click();
                continue;
            }
            if (className("android.view.View").textContains("未开始").exists()) {
                className("android.view.View").text("讲座介绍").click();
                continue;
            }

            if (className("android.view.View").descContains("来晚咯").exists()) {

                toast("来晚咯");
                alert("来晚咯");break;
            }
            if (className("android.view.View").textContains("来晚咯").exists()) {

                toast("来晚咯");
                alert("来晚咯");break;
            }

            if (className("android.view.View").desc("立刻报名").exists()) {
                className("android.view.View").desc("立刻报名").click();
                toast("立即报名")
                break;
            }
            if (className("android.view.View").text("立刻报名").exists()) {
                className("android.view.View").text("立刻报名").click();
                toast("立即报名")
                break;
            }
        }

    }
    

}

function 输入信息(){
    log("开始输入信息")
    className("android.widget.ListView").findOne().children().forEach(child => {
    
    var 学院text = child.findOne(className("android.view.View").textContains("学院："));
    var 姓名text = child.findOne(className("android.view.View").textContains("姓名："));
    var 性别text = child.findOne(className("android.view.View").textContains("性别："));
    var 学号text = child.findOne(className("android.view.View").textContains("学号："));
    var 电话text = child.findOne(className("android.view.View").textContains("电话："));
    
    var 学院desc = child.findOne(className("android.view.View").descContains("学院："));
    var 姓名desc = child.findOne(className("android.view.View").descContains("姓名："));
    var 性别desc = child.findOne(className("android.view.View").descContains("性别："));
    var 学号desc = child.findOne(className("android.view.View").descContains("学号："));
    var 电话desc = child.findOne(className("android.view.View").descContains("电话："));
    
    if(学院text){
    var 输入学院=child.findOne(className("android.widget.EditText"));
    输入学院.setText(学院)
    };
    /*
    if(姓名text){
    var 输入姓名=child.findOne(className("android.widget.EditText"));
    输入姓名.setText(姓名)
    };*/
    if(性别text){
        var 输入性别=child.findOne(className("android.widget.EditText"));
        输入性别.setText(性别)
        };
    if(学号text){
    var 输入学号=child.findOne(className("android.widget.EditText"));
    输入学号.setText(学号)
    };
    if(电话text){
        var 输入电话=child.findOne(className("android.widget.EditText"));
        输入电话.setText(电话)
        };
    
    if(学院desc){
    var 输入学院=child.findOne(className("android.widget.EditText"));
    输入学院.setText(学院)
    };
    /*
    if(姓名desc){
    var 输入姓名=child.findOne(className("android.widget.EditText"));
    输入姓名.setText(姓名)
    };*/
    if(性别desc){
        var 输入性别=child.findOne(className("android.widget.EditText"));
        输入性别.setText(性别)
        };
    if(学号desc){
    var 输入学号=child.findOne(className("android.widget.EditText"));
    输入学号.setText(学号)
    };
    if(电话desc){
        var 输入电话=child.findOne(className("android.widget.EditText"));
        输入电话.setText(电话)
        };
    
    
    });
    }

function 点击确定报名() {
    sleep(延迟);
    if (className("android.view.View").desc("确认报名").exists()) {
        className("android.view.View").desc("确认报名").click();
    }
    if (className("android.view.View").text("确认报名").exists()) {
        className("android.view.View").text("确认报名").click();
    }
}

function 已报名() {
    if (className("android.view.View").descContains("已报名").exists()) {
        toast("恭喜你报名成功！欢迎下次使用！");
    }
    if (className("android.view.View").textContains("已报名").exists()) {
        toast("恭喜你报名成功！欢迎下次使用！");
    }
}